In image coding technologies for a plurality of viewpoints, disparity prediction coding of reducing the amount of information by predicting disparity between images at the time of coding of images of a plurality of viewpoints and decoding methods corresponding to the coding methods have been proposed. A vector indicating disparity between viewpoint images is referred to as a disparity vector. A disparity vector is a 2-dimensional vector that has a component (x component) in the horizontal direction and a component (y component) in the vertical direction and is calculated for each block which is a region obtained by partitioning one image. To acquire images of a plurality of viewpoints, it is general to use cameras disposed at viewpoints. In coding for a plurality of viewpoints, viewpoint images are coded as different layers in a plurality of layers. A coding method for a moving image formed in a plurality of layers is generally referred to as scalable coding or hierarchical coding. In scalable coding, high coding efficiency is realized by executing prediction between layers. A layer which does not execute prediction between layers and serves as a standard is referred to as a base layer and other layers are referred to as enhancement layers. Scalable coding in a case in which layers are formed from viewpoint images is referred to as view scalable coding. At this time, a base layer is also referred to as a base view and an enhancement layer is also referred to as a non-base view. Further, scalable coding in a case in which layers are formed as a texture layer (image layer) of textures (images) and a depth layer (distance image layer) of a depth map (distance image) in addition to view scalable is referred to as 3-dimensional scalable coding.
For example, NPL 1 discloses a 3-dimensional scalable coding technology of an HEVC base. In NPL 1, in order to code a depth map efficiently, there is a depth coding tool such as depth modeling mode (DMM) prediction (also referred to as depth intra prediction) or segment-wise DC (SDC) coding.
The segment-wise DC coding is a technology for coding prediction residual DC information indicating an average (DC) value of prediction residual without performing frequency conversion and inverse quantization on the prediction residual for each region or every plurality of regions in a target block on a depth map.
Basically, the DMM prediction is based on a depth model in which a target block on a depth map (also referred to as a depth block) is configured by two nonrectangular flat regions and in which a depth value of each flat region is expressed with a fixed value. The depth model is configured by partition information indicating a region to which each pixel belongs and depth value information regarding each region.
In the DMM prediction, there are wedgelet partition and contour partition. In NPL 1, in the DMM 1 prediction, a partition pattern (a wedge pattern or a wedgelet pattern) of the wedgelet partition is retained in a lookup table defined in advance for each block size and a wedge pattern designated by an identifier (a wedge pattern index wedge_full_tab_idx) designating a partition pattern is selected. There is a technology for partitioning a depth block into two regions based on the selected wedge pattern and predicting a prediction value for restoring a depth value of each region based on a depth prediction value predicted from a peripheral pixel in each of the partitioned regions and depth value information for correcting the depth prediction value.
The depth value information of each region in the DMM prediction and prediction residual DC information of each region in the segment-wise DC coding are collectively referred to as DC offset information. In NPL 1, coding is performed using a common syntax (depth_dc_flag, depth_ dc_abs, and depth_dc_sign_flag).